# 定义一个元组，包含四个玩家可能到达的地点
location = ("山谷", "山腰", "山沟沟", "山顶")

# 创建一个空集合，用来存放玩家捡到的道具，这样才不至于道具重复
tools = set()

# 初始化玩家的位置索引为0，代表起始位置是山谷
i = 0

# 1.我们先创建道具数据库，用元组（点击复习元组相关知识）存放；
daoJu = ("斧头", "锤子", "弓箭", "大刀","手枪","加特林机关枪","烧火棍")
daoJu_dict = {"斧头":"砍", "锤子":"捶打", "弓箭":"近距离射击", "大刀":"挥砍","手枪":"远程射击","加特林机关枪":"远程扫射","烧火棍":"近距离击打"}

# 2.玩家每到一个地点，随机（点击复习随机数）取出道具数据库中的道具掉落，以供玩家选择。
  # 2.1 随机数的产生
import random
suiJiNum1=random.randint(0,6) # 由于道具只有7个，下标最大为6
suiJiNum2=random.randint(0,6)
  # 2.2 取出道具库中的道具存入掉落列表中并显示给用户
diaoLuoTools=[]
diaoLuoTools.append(daoJu[suiJiNum1])  # 随机取出道具岛掉落列表
diaoLuoTools.append(daoJu[suiJiNum2])

# 打印玩家当前的位置
print("你现在的位置在 " + location[i])

# 开始一个无限循环，模拟游戏进行的过程
while True:
    # 获取玩家的输入，可能是前进、捡道具或使用道具
    go = input("\n请输入你接下来的操作：(前进/捡道具/使用道具)\n")

    # 如果玩家选择前进，更新位置索引
    if go == "前进":
        i += 1

    # 如果玩家选择捡道具，提示玩家输入道具名称，并将其添加到道具列表中
    elif go == "捡道具":
        print("此地有以下道具：")
        # 循环遍历掉落道具
        for diaoluo in diaoLuoTools:
            print(diaoluo)
        tool=input("请输入你要捡起的道具：")
        tools.add(tool)

    # 如果玩家选择使用道具，打印对应功能
    elif go == "使用道具":
        useTool=input("根据背包，请输入要使用的道具：")
        print("使用功能：",end="")
        print(daoJu_dict[useTool])

    # 如果玩家到达山顶，打印结束游戏的消息，并通过break退出循环
    if location[i] == "山顶":
        print("您已经到达山顶，结束游戏！")
        break

    # 打印玩家当前的位置
    print("您目前位置为：" + location[i])

    # 打印玩家背包中的道具
    print("您的背包里有：", end="")
    for some in tools:
        print(some + " ", end="")